home *** CD-ROM | disk | FTP | other *** search
- Short: optimizing ISO C compiler (68k/WarpOS/PowerUp/MorphOS)
- Uploader: vb@compilers.de (Volker Barthelmann)
- Author: vb@compilers.de (Volker Barthelmann),frank@phoenix.owl.de (Frank Wille)
- Type: dev/c
- Version: 0.8
- Replaces: dev/c/vbcc_ppc.lha,dev/c/vbccm68k.lha,dev/c/vbccm68ksrc.lha,dev/c/vbccppc.lha,dev/c/vbccppcnative.lha,dev/c/vbccppcsrc.lha,dev/c/vbccsrc.lha,dev/c/vbccwos.lha,dev/c/vbccwosnative.lha,dev/c/vbccwossrc.lha
-
-
- vbcc - portable ISO/ANSI C compiler (c) in 1995-2001 by Volker Barthelmann
-
-
- INTRODUCTION
-
- vbcc is a portable and retargetable ISO/ANSI C compiler.
-
- This archive contains the compiler, preprocessor, assembler, linker,
- frontend, message browser, startup codes, C-libraries, amiga.lib
- replacements as well as several other tools to generate code for
- AmigaOS/68k, WarpOS, PowerUp and MorphOS.
-
- Many (but not all) tools in this distribution are provided as
- binaries running on 68k as well as on different PPC systems.
-
- All major parts of this distribution (including compiler,
- preprocessor, libraries etc.) have been built using this system.
-
-
- FEATURES
-
- vbcc..
-
- - is portable and retargetable
-
- - comes with a global optimizer that can e.g. do common subexpression
- elimination, constant propagation, function inlining and several
- other optimizations across functions and modules (depending on
- optimization level)
-
- - should be compliant to ANSI/ISO89 and partially ISO99
-
- - can generate code that runs on a plain 68000 CPU
-
- - can generate code optimized for 020/030, 040 or 060
-
- - can generate code that uses the 68881/2, 68040/060 FPUs directly
- and comes with appropriate math-libraries
-
- - can generate code that runs on PowerUp-boards or MorphOS systems
-
- - generates standard Amiga-68k-objects, PPC-ELF-objects or
- WarpOS-EHF-objects
-
- - offers a lot of useful extensions like variable-attributes
- and #pragmas
-
- - comes with a message browser
-
- - offers a lot of error/warning messages that can be turned on/off
- separately
-
-
- WHAT'S NEW
-
- Some changes since the last Amiga release:
-
- - bug fixes in the compiler, optimizer, tools and libraries
-
- - improved code-generation
-
- - improved optimizations, including inter-procedural,
- cross-module optimizations and alias-analysis
-
- - support for some c99 features, including
- - long long
- - flexible array members as last element of a struct
- - mixed statements and declarations
- - declarations within for-loops
- - inline function-specifier
- - restrict-qualifier
- - vararg-macros
- - _Pragma
- - increased translation-limits
- - stdint.h
-
- - stack-checking and measurement of stack-usage
-
- - documentation as pdf and html documents
-
- - new attributes (e.g. __amigainterrupt, __section)
-
- - new #pragmas for PPC (amiga-align etc.)
-
- - inline-headers for WarpOS PPC-native libraries
-
- - (backend-specific) predefined macros
-
- - improved libaries and headers
-
- - new versions of Frank Wille's assemblers and linkers
-
- - use of a builtin preprocessor
-
- - support for MorphOS
-
-
-
- REQUIREMENTS
-
- To use vbcc you need:
-
- - an Amiga with OS 2.0 or higher
-
- - enough RAM (it is possible to translate small programs with 1MB, but
- for larger programs much more will be needed)
-
- Stuff that is not needed, but may be very useful:
-
- - harddisk
-
- - editor
-
- - make, touch etc.
-
- - the Amiga OS-includes (they can be found on certain CDs)
-
- - pipe-command (to use the message browser)
-
- Also you should know how to use the shell and you should know ANSI C
- (if you need a book I recommend (like everyone) "The C Programming
- Language, Second Edition, ANSI C" by Kernighan and Ritchie).
-
-
- LEGAL
-
- Note that this distribution contains several programs, libraries etc.
- that are from different authors and are under different legal status.
- So always read the corresponding documentation to find out under
- what conditions a certain file may be used, distributed etc.
-
- For the most part you can assume that you may use everything for
- non-commercial purposes and may distribute the unchanged archive
- in whole.
-
- Changing any parts from this archive, distributing parts of it or
- using it commercially might be legal for certain parts, but illegal
- for others, so read all docs carefully before doing any of the above.
-
-
- DOCUMENTATION
-
- Look for documentation in the doc-subdirectory. First, read
- vbcc.pdf or vbcc.html to learn about the compiler and frontend.
- For the other tools like assemblers and linkers, consider the
- remaining documentation which can be found in this subdirectory.
-
-
- BUGREPORTS/COMMENTS
-
- If you think vbcc generates bad code, throws enforcer hits, crashes,
- seems to be not ISO-compliant etc. and the problem is not mentioned
- anywhere in this docs as known problem, please send a mail with your
- system configuration, the vbcc version, the command line you used, the
- source that caused the problem and a brief description of the problem
- to
-
- vb@compilers.de and/or
- frank@phoenix.owl.de
-
- Also if you find problems with the includes, the libraries or you have
- suggestions, dislikes etc. send us a mail.
- Corrections, improvements etc. of the manuals are appreciated, too.
-
-
-
- Volker Barthelmann vb@compilers.de
- Frank Wille frank@phoenix.owl.de
-
-